#include <stdio.h>
#include <dlfcn.h>
#include <signal.h>
#include <iostream>
#include "Config.h"
#include "CtpMd.h"

int main(int argc, char *argv[])
{
    // 创建CTP行情API实例
    CThostFtdcMdApi *pMdUserApi = CThostFtdcMdApi::CreateFtdcMdApi();

    // 创建MdSpi实例，并传入行情API指针
    CThostFtdcMdSpi *pMdUserSpi = argc == 2 ? new MdSpi(pMdUserApi, argv[1]) : new MdSpi(pMdUserApi);

    // 将MdSpi实例注册到行情API
    pMdUserApi->RegisterSpi(pMdUserSpi);

    // 设置行情服务器地址
    pMdUserApi->RegisterFront(URL);

    // 初始化行情API
    std::cout << "初始化行情API" << std::endl;
    pMdUserApi->Init();

    // 阻塞程序，直到行情API线程退出
    pMdUserApi->Join();

    // 释放MdSpi实例内存
    delete pMdUserSpi;

    return 0;
}
